iT邦幫忙

2025 iThome 鐵人賽

DAY 20
1
AI & Data

動不動就要 ETL? 以Trino為例-淺談從資料倉儲到湖倉系列 第 20

冰山不止一角,Iceberg 與 S3 (四)

  • 分享至 

  • xImage
  •  

20

Iceberg 的效能問題

延續昨日我們對 Metadata 讀取 以及 Trino Splits 概念之介紹,我們知道Splits 數量一旦過多,將很可能會導致:

  1. Coordinator 排程壓力大 (負責分配 split 任務給 Worker nodes)
  2. Query Planning 時間變長
  3. Worker 啟動過多 Task,造成 CPU / Memory 升高
  4. 對 S3 的 I/O 請求數增加造成查詢延遲

Iceberg 的成本問題

除了效能問題,公司作為營利單位當然也關心這些操作到底花不花錢,當然這邊僅就 Trino Query Iceberg 本身產生的費用做討論,Trino cluster 的機器費用不在本文的探討範圍。

Trino Query Iceberg 實際產生的費用主要為 S3 的 I/O 成本,可以細分為:

  • GET Object 請求費$0.0004 per 1000 GET requests
  • LIST manifest 請求費$0.0005 per 1000 requests
  • Data Transfer Out:跨區/跨雲會收費,約 $0.09/GB

故上節討論因 Trino query Iceberg 產生之 Metadata 讀取、 Trino Splits 皆會讓 GET 以及 LIST 費用上升;

若如筆者公司曾考慮將 Trino cluster 放在自建雲上,以此避開昂貴的 AWS EC2 機器費用,拿 Trino cluster 的經典組合: Coordinator *1 + Worker *3,機器規格為 r6i.2xlarge * 4 來計算,一個月的成本約 788 美金:

## AWS EC2 (r6i.2xlarge -> 8C64G) 價格
價格:USD 0.2737 / 小時(Linux)
每日:0.2737 * 24 = USD 6.5688
每月(30 天):6.5688 * 30 * 4 = $788.256 USD

自建機房若僅考慮硬體費用一個月的成本約 177 美金:

## 自建機房硬體 價格:
CPU:Intel Xeon Gold / AMD EPYC(8C16T)約 $800 USD
RAM:64GB ECC DDR4 約 $200 USD
主機板 / 機殼 / 電源 / 散熱:約 $500 USD
磁碟:500GB SSD 約 $60 USD
-----------------------------------------
總計單台:約 $1,600 USD -> 4 台共:$6,400 USD
-> 硬體折舊抓 3 年(36 個月),每月約:6400 / 36 = $177.77 USD

這樣看起來是不是非常划算,但若 每月 對 AWS S3 的 Data transfer out 達到 7,000 GB = $630 USD ( 筆者公司的 訂單資料 就已達 10 TB ) ,就會把省下來的錢全部吐回去給 Amazon。

明日預告

遇到問題該怎麼辦?別急。系列文明日《冰山不止一角,Iceberg 與 S3 (五)》,將帶你逐步走過筆者嘗試過的優化方式。相信讀完之後,你會對解法更加清晰,原本的疑惑也能一掃而空。

Know me more

My Linkedin: https://www.linkedin.com/in/benny0624/
My Medium: https://hndsmhsu.medium.com/


上一篇
Day 19 - 冰山不止一角,Iceberg 與 S3 (三)
下一篇
Day 21 - 冰山不止一角,Iceberg 與 S3 (五)
系列文
動不動就要 ETL? 以Trino為例-淺談從資料倉儲到湖倉26
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言